package com.nd.android.musicboxlibrary.ui.adapter;

import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TextView;
import com.common.utils.StarAppUtils;
import com.google.gson.Gson;
import com.nd.android.musicboxlibrary.R;
import com.nd.android.musicboxlibrary.ui.common.UnMixable;
import com.nd.android.musicboxlibrary.util.ConfigHelper;

/**
 * 
 * <br>
 * Created 2014年9月15日 下午11:10:29
 * 
 * @version
 * @author wat.ztag
 * 
 * @see
 */
public class JayMusicSearchAdapter extends AbstractAdapter<String, SearchViewHolder> {

    /**
     * Creates a new instance of JayMusicSearchAdapter. <br>
     * Created 2014年9月15日 下午11:10:34
     * 
     * @param context Context
     */
    public JayMusicSearchAdapter(Context context) {
        super(context);
    }

    @Override
    protected SearchViewHolder getNewHolder() {
        return new SearchViewHolder();
    }

    @Override
    protected int getItemLayout() {
        return R.layout.mbx_jay_music_search_item;
    }

    /**
     * 
     * <br>
     * Created 2014年9月15日 下午11:10:18
     * 
     * @param search String
     * @author wat.ztag
     */
    public void addItem(String search) {
        getDatas().add(search);
        notifyDataSetChanged();
    }

    @Override
    public void bindView(SearchViewHolder holder, final String data, int position) {
        holder.txtSearch.setText(data);
        holder.delete.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                getDatas().remove(data);
                String history = new Gson().toJson(getDatas());
                ConfigHelper.getInstance(getContext()).saveKey(
                        ConfigHelper.CONFIG_KEY_SEARCH_HISTORY, history);
                notifyDataSetChanged();
            }
        });
        StarAppUtils.setViewTypeFace(holder.txtSearch, false);
    }

}

/**
 * 
 * <br>
 * Created 2014年9月15日 下午11:10:24
 * 
 * @version
 * @author wat.ztag
 * 
 * @see
 */
class SearchViewHolder implements UnMixable {
    TextView txtSearch;
    ImageView delete;

    /**
     * 
     * <br>
     * Created 2014年10月7日 下午10:09:45
     * 
     * @param search TextView
     * @author wat.ztag
     */
    void setTxtSearch(TextView search) {
        txtSearch = search;
    }

    /**
     * 
     * <br>
     * Created 2014年10月7日 下午10:09:47
     * 
     * @param del ImageView
     * @author wat.ztag
     */
    void setTxtSearch(ImageView del) {
        delete = del;
    }
}
